package com.lion.common.modules.uaa.dao.repository;


import com.lion.common.modules.uaa.domain.entity.UaaAccountEntity;
import com.lion.common.spring.business.base.jpa.BaseRepository;

/**
 * @author Chris Chan
 * Create On 2025/8/8 下午1:50
 * Use for:
 * Explain:
 */
public interface UaaAccountRepository extends BaseRepository<UaaAccountEntity> {
    /**
     * 根据账号编码查询账号
     *
     * @param accountCode 账号编码
     * @return 账号
     */
    UaaAccountEntity findByCode(Long accountCode);

    /**
     * 根据用户名查询账号
     *
     * @param username 用户名
     * @return 账号
     */
    UaaAccountEntity findByUsername(String username);

    /**
     * 根据手机号查询账号
     *
     * @param mobile 手机号
     * @return 账号
     */
    UaaAccountEntity findByMobile(String mobile);

    /**
     * 根据邮箱查询账号
     *
     * @param email 邮箱
     * @return 账号
     */
    UaaAccountEntity findByEmail(String email);

    /**
     * 根据激活码查询账号
     *
     * @param activationCode 激活码
     * @return 账号
     */
    UaaAccountEntity findByActivationCode(String activationCode);
}
